﻿
$(document).ready(main);


function main() {

    $("#registro").show();
    $("#registrar").click(mostrarFormRegistro);
    $("#botonRegistro").click(registrarProducto);
    $("#busqueda").show();
    $("#modificar").click(mostrarFormBusqueda);
    $("#eliminar").click(mostrarFormBusqueda);
    $("#botonBuscar").click(buscarProducto);
    $("#botonCancelar").click(menuProducto);
    $("#EliminarBoton").click(eliminarProducto);
    cargarTiposProducto();

}

function cargarTiposProducto() {

    var enviar = {
        tipo_Producto: "",
        Descripcion: "",
        estado: 0
    }

    console.log(enviar);

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarTiposProducto",
        beforeSend: esperarRegitro,
        success: function (data) {


            console.log(data);

            var lista = data.listatipoProducto;


            $("#Tipo").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#Tipo").append("<option value=\""+item.tipo_Producto+"\">" + item.Descripcion + "</option>");
            });
        }
    });
}

function menuProducto() {
    window.history.back();
}


function mostrarTabla(){
   
}


function mostrarFormRegistro() {
    $("#registro").show("slow");;
}

function mostrarFormBusqueda() {
    $("#busqueda").show("slow");
    $("#registro").hide();
}


function registrarProducto() {
    //alert("xd");
    
    var enviarsela = {
        Nombre: $("#Nombre").attr("value"),
        Tipo: $("#Tipo").val(),
        Descripcion: $("#Descripcion").attr("value"),
        PrecioEstimado: $("#PrecioEstimado").attr("value")
    }
    //alert($("#RUC").attr("value"));
    //alert($("#RazonSocial").attr("value"));
    console.log(enviarsela);
    //alert();
    var jsonData = JSON.stringify(enviarsela);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "registrarProducto",
        beforeSend: esperarRegitro,
        success: llegadaRegistro
//        error: function(xhr, status, error) {
//            alert("An AJAX error occured: " + status + "\nError: " + error);
//        }
    });
}

function eliminarProducto() {
    if ($("input:radio[name='R1']:checked")) {
        var nombre, tipo, descripcion, precioestimado, cuenta;
        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
            switch (index2) {
                case 1:
                    nombre = $(this).text();
                    break;
                case 2:
                    tipo = $(this).text();
                    break;
                case 3:
                    descripcion = $(this).text();
                    break;
                case 4:
                    precioestimado = $(this).text();
                    break;
            }
        })

        var enviar = {
            Nombre: nombre,
            Tipo: tipo,
            Descripcion: descripcion,
            PrecioEstimado: precioestimado,
            Cuenta: cuenta
        }

        var jsonData = JSON.stringify(enviar);

        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "eliminarProducto",
            beforeSend: esperarEliminar(),
            success: llegadaEliminar
        });

    }
    else {
        alert("Debe seleccionar una fila");
    }

}

function esperarEliminar() {
}

function llegadaEliminar(data) {
    alert("Eliminación correcta");
    buscarProducto();

}

function errorJS(data) {
    alert("Error");
}


function esperarRegitro() {

}

function llegadaRegistro(data) {
    window.history.back();
    alert(data.me);
}

function buscarProducto() {

    var enviar = {
        Nombre: $("#Nombre").attr("value"),
        Tipo: $("#Tipo").val(),
        Descripcion: $("#Descripcion").attr("value"),
        PrecioEstimado: $("#PrecioEstimado").attr("value")
    }

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarProducto",
        beforeSend: esperarLista(),
        success: llegadaLista
    });
}

function esperarLista() {

}
function llegadaLista(data) {

    console.log(data);
    

    var lista = data.listaProducto;


    var escritor = "";

    //alert("xD");

    //dentro de la variable escritor vamos a meter todo lo que queremos mostrar en nuestro view

    escritor += "<table><thead><tr><th></th><th>Nombre</th><th>Tipo</th><th>Descripción</th><th>Precio Estimado</th></tr></thead>";
    //aca y al final crea los <thead> y <tbody> que no recuerdo muy bien como era, forealo

    //no te olvides de por aca cerrar el <thead>

    escritor += "<tbody>";

    $.each(lista, function (i, item) {
        //entonces recorremos la lista y vamos creando <td> pa cada uno

        //lista[i] es lo mismo que item

        escritor += "<tr>";

        //averiguate como era la estructura de la tabla
        escritor += '<td>' + "<input id=" + "\"RadioButton1\" " + "name=" + "\"R1\" " + "type=" + "\"radio\" " + "value=" + "\"1\"" + "/>" + '</td>';
        escritor += '<td>' + item.nombre + '</td>';
        escritor += '<td>' + item.tipo + '</td>';
        escritor += '<td>' + item.descripcion + '</td>';
        escritor += '<td>' + item.precioestimado + '</td>';
/*escritor += '<td>' + '</td>';*/
        escritor += "</tr>";
    });
    
    //has el cierre del <tbody>

    escritor += "</toby>";

    //hay qu probar pa ver que imprime, va a salir hasta el webo porque el formato de la tabla esta mal

    escritor += "</table>";


    $("#tablaDinamica").html(escritor);

    //de esta forma en el div "tabladinamica" se va a imprimir lo que tengamos en "escritor"
    //captaste? Si, ya cache ya xD!

    //chvr, lo ultimo te enseño como recorrer la lista en js


    //tmr, sale hasta el webo, estak ahi abajo
    //arreglalo ps O:KDook yo lo hago pancho gracias =) 
    //chvr, cuando acabes intentamos hacer el eliminar ps
    //voy a avanzar la weada de aca que no he hecho ni mierdo poyr vr el partido xDYayaya xD! okok pancho no hay problema
    //(Y) bye Ñ)
}

/*function modificarProducto(){
    $("#dialog-form").dialog("open");
}*/


$(function () {
    var nameB = $("#nameB"),
            emailB = $("#emailB"),
            passwordB = $("#passwordB"),
            allFields = $([]).add(nameB).add(emailB).add(passwordB),
            tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }
    $("#dialog-form").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var enviar = {
                    Nombre: $("#NombreProducto").attr("value"),
                    Tipo: $("#TipoProducto").val(),
                    Descripcion: $("#DescripcionProducto").attr("value"),
                    PrecioEstimado: $("#PrecioEstimadoProducto").attr("value"), 
                }

                var jsonData = JSON.stringify(enviar);

                $.ajax({
                    type: "POST",
                    data: jsonData,
                    dataType: "json",
                    contentType: "application/json; charset=utf-8",
                    url: "modificarProducto",
                    success: function (data) {
                        alert(data.me);
                        buscarProducto();
                    }
                });

                $(this).dialog("close");
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#ModificarBoton").click(function () {

        $("#dialog-form").dialog("open");
        var bValid = true;
        allFields.removeClass("ui-state-error");
        if (bValid) {
            if ($("input:radio[name='R1']:checked")) {
                var nombre, tipo, descripcion, precioestimado;
                $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                    switch (index2) {
                        case 1:
                            nombre = $(this).text();
                            break;
                        case 2:
                            tipo = $(this).text();
                            break;
                        case 3:
                            descripcion = $(this).text();
                            break;
                        case 4:
                            precioestimado = $(this).text();
                            break;
                    }
                })
                alert(nombre + ' - ' + tipo + ' - ' + descripcion + ' - ' + precioestimado + ' - ' +$("input:radio[name='R1']:checked").val());
                document.getElementById("NombreProducto").value = nombre;
                document.getElementById("TipoProducto").value = tipo;
                document.getElementById("DescripcionProducto").value = descripcion;
                document.getElementById("PrecioEstimadoProducto").value = precioestimado;
            }
        }
    });

});

